home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / sys / amiga / misc-part1 / 3957 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  3.3 KB

  1. Path: EU.net!sun4nl!xs4all!usenet
  2. From: jtv@xs4all.nl (Jeroen T. Vermeulen)
  3. Newsgroups: comp.sys.amiga.misc
  4. Subject: Re: OS features
  5. Date: Fri, 2 Feb 96 03:30:37
  6. Organization: Leiden University, Mathematics & Computer Science, The Netherlands
  7. Message-ID: <19960202.7B12650.388B@asd05-06.dial.xs4all.nl>
  8. References: <DLAA61.2us@inter.NL.net> <4dh2dm$jui@serpens.rhein.de> <1292.6592T166T2158@algonet.se> <4do01q$fmc@serpens.rhein.de> <19960120.7B57BE0.122A3@asd01-04.dial.xs4all.nl> <4dtg0e$1j7@serpens.rhein.de> <19960123.7B89070.14DD@asd07-10.dial.xs4all.nl> <4e384c$13j@serpens.rhein.de>
  9. NNTP-Posting-Host: asd05-06.dial.xs4all.nl
  10. Mime-Version: 1.0
  11. Content-Type: text/plain; charset=iso-8859-1
  12. Content-Transfer-Encoding: 8bit
  13. X-NewsSoftware: GRn 2.1 Feb 19, 1994
  14.  
  15.  
  16. In article <4e384c$13j@serpens.rhein.de> mlelstv@serpens.rhein.de (Michael van Elst) writes:
  17. >
  18. > >What is probably meant is that deadlocks must be prevented, where memory is
  19. > >swapped out that needs to be present in real mem for the swap mechanism as a
  20. > >whole to work.  Of course the task list etc. must also be kept consistent during
  21. > >Forbid().
  22. >
  23. > And more. There is data used within interrupts. It is rather impossible
  24. > to page in data for interrupt code.
  25.  
  26. Damn, forgot about those for a moment!
  27.  
  28.  
  29. > >It would have to lock, of course.  With `single-threaded' I mean here that only
  30. > >one instance of the code could be active at any time (as if it were a task), but
  31. > >no actual context switch is made (as if it were a library).
  32. >
  33. > As I said this is not possible because the driver may consist of several
  34. > tasks that _do_ require context switches. It also is a waste of time
  35. > to forbid other tasks to run after one task page-faulted.
  36.  
  37. As we're talking about implementing a special-purpose device driver here anyway,
  38. I don't see a reason (yet) why it can't be programmed so as to run in a single
  39. task.
  40.  
  41. Once again, this isn't exactly my favourite solution but it could at least be
  42. possible.  As for the wasted time, I've heard it said that with other OS's it's
  43. often better to have the CPU run idle while swapping than to switch tasks and
  44. run head-on into a new page fault (I don't _know_ it though).
  45.  
  46.  
  47. > > - Private memory allocated by the VM subsystem
  48. >
  49. > Most of the VM system itself can be in virtual memory. It even
  50. > makes sense as the MMU tables can be pretty big.
  51.  
  52. Would this work for a single-level VM system (or the top level of a multi-level
  53. system)?
  54.  
  55. > > - Memory shared between any task and the VM subsystem + VM device driver
  56. >
  57. > This has to be locked during the transfer only.
  58.  
  59. That depends on implementation, I guess.  There must never be "circular page
  60. fault" on such memory (and excessive copying is probably best avoided).
  61.  
  62.  
  63. > >Of course, but it must be supported for existing software.  And with the scheme
  64. > >outlined above I think it can be, even in such multiprocessor configurations.
  65. >
  66. > As I said, Forbid() is not just a semaphore to shared memory.
  67.  
  68. Of course not.  But what exactly is the observable difference, if any?
  69.  
  70.  
  71. >                                 Michael van Elst
  72. > Internet: mlelstv@serpens.rhein.de
  73.  
  74. --
  75. ============================================================================
  76. #  Jeroen T. Vermeulen   \"How are we doing kid?"/   Yes, we use Amigas.   #
  77. #---  jtv@xs4all.nl    ---\"Oh, same as always."/--         ...          --#
  78. #jvermeul@wi.leidenuniv.nl \ "That bad, huh?"  /  Got a problem with that? #
  79.